﻿using Qianke.Core.Saas.Contracts.Module.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Qianke.Core.Saas.Contracts.Module
{
    public interface IModuleService
    {
        /// <summary>
        /// 发送心跳信号。
        /// </summary>
        /// <returns>返回一个字符串，表示心跳信号的状态。</returns>
        Task<string> Heartbeat();


        /// <summary>
        /// 初始化模块。
        /// </summary>
        /// <returns>返回一个字符串，表示模块初始化的结果。</returns>
        Task<string> InitModule(InitModuleInputDto dto);


        /// <summary>
        /// 释放模块资源。
        /// </summary>
        /// <returns>返回操作结果字符串。</returns>
        Task<string> FreeModule(FreeModuleInputDto dto);


        /// <summary>
        /// 清除运行时数据。
        /// </summary>
        /// <returns>返回清理后的数据字符串。</returns>
        Task<string> ClearRunTimeData();
    }
}
